package com.ns.basic.dict.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ns.basic.dict.dto.DictItemPageDto;
import com.ns.basic.dict.entry.DictItemEntry;
import com.ns.basic.dict.vo.DiVO;
import com.ns.basic.dict.vo.DictItemEntryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 字典项数据层接口
 *
 * @author liaowei
 */
@Mapper
public interface DictItemEntryMapper extends BaseMapper<DictItemEntry> {
    /**
     * 根据字典id查询字典项
     *
     * @param dictId 字典id
     * @return List
     */
    List<DictItemEntryVO> selectByDictId(@Param("dictId") Long dictId);

    /**
     * 根据字典code 查询字典项
     *
     * @param dictCode 字典code
     * @return List
     */
    List<DictItemEntryVO> selectByDictCode(@Param("dictCode") String dictCode);

    /**
     * 查询字典
     *
     * @return DiVO
     */
    List<DiVO> listBy();

    /**
     * 删除当前字典条目
     *
     * @param dictId 字典id
     */
    void delByDictId(Long dictId);

    /**
     * 分页查询服务
     *
     * @param dto 参数
     * @return ServerEntryVO
     */
    Page<DictItemEntryVO> getList(@Param("dto") DictItemPageDto dto, Page<Object> page);
}
